1. Field of the Invention
This invention relates to the emulation of one computer by another computer, and relates more particularly to the detection of object code for the one computer which may be modified by the one computer during the process of such emulation.
2. Description of the Prior Art
In the description below, the following definitions are used:
Host computer: The actual hardware on which an emulator program runs. PA0 Target computer: The computer which is being emulated.
It is well known that, in principle, any digital computer can be emulated on any other digital computer using only software techniques. However, software-only emulators are usually considered to be too slow to be of practical interest because they invariably require that many host instructions be executed to perform the function of just one target instruction.
Because of this, many approaches have been developed in which varying amounts of special-purpose hardware are used to assist the emulator program in performing its task. This hardware may be special registers which hold images of the most frequently used registers of the target computer, special host instructions which perform all or part of the function of certain target instructions, and so forth. There is always some cost associated with such hardware; in general, the faster the emulator is to be, the more elaborate and more expensive the hardware assist must be. Because of this hardware cost, a software-only emulator is very attractive, if only it can be made to run fast enough. The key to the speed of such a software-only emulator is the average number of host instructions which must be executed to perform an average target instruction.
The obvious approaches to the design of such emulators lead to programs which require many dozens or hundreds of host instructions per target instruction. In order for the performance of the emulator running on the host computer to be competitive with the actual target computer hardware, the host would have to be more than two orders of magnitude faster than the target computer. There is seldom such a wider peformance gap between hosts and targets of practical interest.